Digital cameras generally have a lens system and an image sensor for collecting image data. The image data is transmitted as image frames to a processing system for processing. Each image frame generally is a separate still image. As used herein, the image frames include raw image data from the image sensor that has been digitized with an analog-to-digital (A/D) converter. As used herein, “collecting” image data refers to detecting image data at an image sensor, which is then transmitted as one or more frames.
Digital cameras also have a capture trigger, such as a shutter button, to be activated by a user when the user desires to capture a specific image (the “subject image”). When the user activates the capture trigger, the processing system detects the capture trigger and designates the image data collected by the image sensor as corresponding to the specific image desired to be captured by the user.
The image frame received from the image sensor that corresponds to the capture trigger is referred to herein as a “corresponding image frame.” The corresponding image frame may be collected by the image sensor just prior to triggering the capture trigger, concurrent with triggering the capture trigger, or just after triggering the capture trigger, depending on the configuration of the digital camera.
The image sensor also may collect image data that does not correspond to activation of the capture trigger. These image frames are referred to herein as “auxiliary image frames.” The auxiliary image frames may be displayed on an image display, used for performing automatic focusing, or used for other processing. The auxiliary image frames may be collected from the image sensor at full resolution or less than full resolution.
The processing system of the digital camera includes one or more processors. In some digital cameras, the processing system has a processor and a co-processor. The processor generally is configured to manage camera operation and other components of the digital camera, including transmitting and receiving instructions and data to and from the other components. The co-processor is configured to perform processing intensive operations, such as compression, blur correction, automatic focus, and other image processing.
The processing system may store image data in internal memory or removable memory before, during, and/or after processing. Internal memory includes volatile memory and/or nonvolatile memory.
Volatile memory, such as random access memory, is memory that can be accessed quickly by the processing system while operating. Nonvolatile memory, such as Flash memory, is capable of storing data for significant periods of time when power is removed from the memory.
Removable memory can be inserted into and removed from the digital camera. The removable memory has an associated memory controller that communicates image data with the processing system and controls storage and retrieval of the image data to and from the removable memory.
The processing system may transmit image data from the digital camera or receive image data via a host interface, such as a universal serial bus (USB) port. The processing system controls transmitting and receiving other data and instructions via the host interface.
The processing system processes auxiliary image frames for display on the image display. This processing is referred to herein as “display processing.”
During display processing, the image data optionally is subsampled to reduce the overall processing required for the auxiliary image frame. The subsampled image data then is processed in several stages. White balance and exposure adjustment adjusts the image data for white light and under or over exposure. Color processing is performed to derive proper colors for the image data and may include color filter array (CFA) interpolation and color space processing. The image data also is processed to compensate for non-linear characteristics, such as with gamma processing.
The display processed image then is transferred to an image driver. The image driver configures the image data for an associated image display and transmits the configured image data to the image display.
The processing system also processes corresponding image frames for enhancement, restoration, and color processing to produce a final image captured when the user activates the capture trigger. This processing is referred to herein as “image processing.”
Image processing generally includes processing for white balance, exposure adjustment, color processing, and non-linearity compensation. Image processing generally uses a full resolution corresponding image frame. Although, less than full resolution data sometimes may be used. The processing system stores the corresponding image frame in internal memory or removable memory.
Blur correction also is performed by the processing system in some instances. Blur is caused, for example, when a subject image moves through the field of view of the camera lens. The degree of blur is dependent on how fast the subject image is moving through the field of view. Image data is processed to remove the blur.
Additional image processing may be performed, such as for edge enhancement and automatic focus. Other processing for other automatic functions may be performed.
File compression is performed at the end of image processing in some configurations. File compression standards include joint photographic experts group (JPEG) standards, graphics interchange format (GIF) formats, tagged image file format (TIFF) formats, and other formats and standards. Video and audio capture and formatting standards also may be used, such as moving pictures experts group (MPEG) standards and audio-video-interleaved (AVI) standards.
All image processing takes time and processing resources. Often while image data is being processed, the processing system is busy with image processing and is not available to capture or process new images. In other instances, a digital camera may be processing setup commands and temporarily is not able to collect corresponding images.
In such instances, the digital camera does not immediately collect corresponding image frames when the capture trigger is triggered. In some cases, several seconds may pass before the image is captured and processed. This delay commonly is referred to as “shutter delay.”
Shutter delay may frustrate a user attempting to capture an image. For example, a user attempting to capture a particular moment in a child's birthday party or at a sporting event may be frustrated if shutter delay causes the digital camera to miss capturing the anticipated image. Therefore, it is desirable to have systems and methods that provide a rapid response between activating a capture trigger and capturing image data for a subject image and to provide this response as long as available memory allows.